﻿#language: it-IT
# Autore: Emanuele Poggi

Funzionalità: AggiungiEvento

Scenario: aggiunta di un evento con nome non esistente (inserisco solo nome). Successo.
	Dato l'evento "Capodanno" non esiste
	E ho inserito i valori
         | Attributi | Valori    |
         | Nome      | Capodanno |
         | Nota      | test      |
	Quando salvo
	Allora l'operazione ha successo
	E esiste l'evento "Capodanno"

Scenario: aggiunta di un evento con data e nome non esistenti senza invitati. Successo.
	Dato l'evento "Capodanno" non esiste
	E ho inserito i valori
         | Attributi | Valori     |
         | Nome      | Capodanno  |
         | Data      | 1/01/2013  |
	Quando salvo
	Allora l'operazione ha successo
	E esiste l'evento con i valori
		 | Attributi | Valori     |
         | Nome      | Capodanno  |
         | Data      | 01/01/2013 |

Scenario: aggiunta di un evento con data e nome non esistenti , con un invitato e ricetta. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Data      | 01/01/2013   |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Quando salvo
	Allora l'operazione ha successo
	E esiste l'evento con i valori
		 | Attributi | Valori        |
         | Nome      | Capodanno     |
         | Data      | 01/01/2013    |
		 | Invitato  | Franco Rossi	 |
		 | Ricetta   | Pizza         |

Scenario: aggiunta di un evento con nome esistente. Successo.
	Dato l'evento "Capodanno" esiste
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
	Quando salvo
	Allora l'operazione ha successo
	E esistono "2" eventi "Capodanno"

Scenario: aggiunta inconclusa di un evento chiuso. Successo.
	Dato l'evento "Capodanno" non esiste
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
	Quando  chiudo l'evento
	Allora appare un messaggio
	Quando rifiuto
	Allora l'operazione ha successo
	E non esiste l'evento "Capodanno"

Scenario: aggiunta di un evento chiuso. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
         | Data      | 01/01/2013     |
		 | Invitato  | Franco Rossi	  |
	Quando  chiudo l'evento
	Allora appare un messaggio
	Quando confermo
	Allora l'operazione ha successo
	E esiste l'evento "Capodanno"
	E l'evento "Capodanno" è chiuso

	Scenario: aggiunta di un evento con ricetta da aggiungere a lista della spesa. Successo.
	Dato la lista della spesa è vuota
	E l'evento "Capodanno" non esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E ho inserito i valori
         | Attributi | Valori     |
         | Nome      | Capodanno  |
         | Ricetta   | Pizza      |
         | Porzioni  | 2          |
	Quando aggiungo ricetta a lista della spesa
	Allora appare un messaggio
	Quando accetto
	Allora la lista della spesa non è vuota
	Quando salvo
	Allora l'operazione ha successo
	E esiste l'evento con i valori
		 | Attributi | Valori      |
         | Nome      | Capodanno   |
		 | Ricetta   | Pizza       |
		 | Porzioni  | 2           |

Scenario: aggiunta di un evento con menu da aggiungere a lista della spesa. Successo.
	Dato la lista della spesa è vuota
	E l'evento "Capodanno" non esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E ho inserito i valori
         | Attributi | Valori     |
         | Nome      | Capodanno  |
         | Ricetta   | Pizza      |
         | Porzioni  | 2          |
	Quando aggiungo menu a lista della spesa
	Allora appare un messaggio
	Quando accetto
	Allora la lista della spesa non è vuota
	Quando salvo
	Allora l'operazione ha successo
	E esiste l'evento con i valori
		 | Attributi | Valori      |
         | Nome      | Capodanno   |
		 | Ricetta   | Pizza       |
		 | Porzioni  | 2           |

Scenario: aggiunta di un evento con invitati incompatibili. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E l'ospite "Franca Bianchi" esiste
	E l'ospite "Franca Bianchi" è "molto sgradito" per "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
         | Invitato  | Franco Rossi	  |
		 | Invitato  | Franca Bianchi |
	Allora ho un errore

Scenario: aggiunta di un evento con invitati antipatici. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E l'ospite "Franca Bianchi" esiste
	E l'ospite "Franca Bianchi" è "sgradito" per "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
         | Invitato  | Franco Rossi	  |
		 | Invitato  | Franca Bianchi |
	Allora ho un avviso

Scenario: aggiunta di un evento senza invitati indispensabili. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E l'ospite "Franca Bianchi" esiste
	E l'ospite "Franca Bianchi" è "indispensabile" per "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori         |
         | Nome      | Capodanno      |
         | Invitato  | Franco Rossi	  |
	Allora ho un errore

Scenario: aggiunta di un evento con ingrediente molto sgradito. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E "ingrediente" "farina" "molto sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un errore

Scenario: aggiunta di un evento con ingrediente sgradito. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E "ingrediente" "farina" "sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un avviso

	Scenario: aggiunta di un evento con ricetta sgradita. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E "ricetta" "pizza" "sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un avviso

	Scenario: aggiunta di un evento con ricetta molto sgradita. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E "ricetta" "pizza" "molto sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un errore

Scenario: aggiunta di un evento con categoria molto sgradita. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E la categoria "farine" esiste
	E l'ingrediente "farina" appartiene alla categoria "farine"
	E "categoria" "farine" "molto sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un errore

Scenario: aggiunta di un evento con categoria sgradita. Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E la categoria "farine" esiste
	E l'ingrediente "farina" appartiene alla categoria "farine"
	E "categoria" "farine" "sgradito" a "Franco Rossi"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un avviso

Scenario: aggiunta di un evento con invitato intollerante a ricetta (categoria). Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E la categoria "farine" esiste
	E l'ingrediente "farina" appartiene alla categoria "farine"
	E l'ospite "Franco Rossi" è intollerante a "categoria" "farine"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un errore

	Scenario: aggiunta di un evento con invitato intollerante a ricetta (ingrediente). Successo.
	Dato l'evento "Capodanno" non esiste
	E l'ospite "Franco Rossi" esiste
	E la ricetta "Pizza" esiste con "100" "grammi" di "farina"
	E la categoria "farine" esiste
	E l'ingrediente "farina" appartiene alla categoria "farine"
	E l'ospite "Franco Rossi" è intollerante a "ingrediente" "farina"
	E ho inserito i valori
         | Attributi | Valori       |
         | Nome      | Capodanno    |
         | Invitato  | Franco Rossi |
         | Ricetta   | Pizza        |
	Allora ho un errore